#pragma once
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <unistd.h>
#include <string.h>
#include <stdlib.h>

#define SIZE 2048
#define none_flush (1<<1)
#define line_flush (1<<2)
#define full_flush (1<<3)

typedef struct _myfile//文件结构体，里面包含文件的属性和信息
{
    char outbuffer[SIZE];//保存在文件的字符串
    int pos;//标记现存容量大小
    int fileno;//文件fd
    int flush;//刷新缓冲区的变量
    int cap;//整个文件的最大容量
}myfile;
//打开文件
myfile* my_fopen(const char* pathname, const char* mode);
//刷新缓冲区
void my_flush(myfile* fp);
//写入文件
void my_fwrite(myfile* fp, const char* str, int size);
//关闭文件
void my_fclose(myfile* fp);